package hello.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;


@TableName("user")
// mybatisplus注解-对应数据源表名

@Data
// lombok注解-实现get/set/toString方法

@EqualsAndHashCode(callSuper = false)
// lombok注解-自动的给model bean实现equals方法和hashcode方法。

@Accessors(chain = true)
// 对象的set和get方法返回自身,供链式调用

@JsonInclude(JsonInclude.Include.NON_NULL)
//Jackson 注解将该标记放在属性上，如果该属性为NULL则不参与序列化
//如果放在类上边,那对这个类的全部属性起作用
//Include.Include.ALWAYS 默认
//Include.NON_DEFAULT 属性为默认值不序列化
//Include.NON_EMPTY 属性为 空（“”）  或者为 NULL 都不序列化
//Include.NON_NULL 属性为NULL 不序列化
public class User implements Serializable {

    @TableId(value = "id", type = IdType.INPUT)
    private Long id;

    @ApiModelProperty("名称")
    @TableField("userName")
    private String userName;

    @ApiModelProperty("密码")
    @TableField("passWord")
    private String passWord;

    @ApiModelProperty("真实姓名")
    @TableField("realName")
    private String realName;
}
